package com.youlai.boot.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.common.annotation.DataPermission;
import com.youlai.boot.system.model.entity.LpsOrder;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.query.LpsOrderQuery;
import com.youlai.boot.system.model.vo.LpsOrderNODownloadVO;
import com.youlai.boot.system.model.vo.LpsOrderVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 莱普森订单Mapper接口
 *
 * @author lwb
 * @since 2025-07-13 16:00
 */
@Mapper
public interface LpsOrderMapper extends BaseMapper<LpsOrder> {

    /**
     * 获取莱普森订单分页数据
     *
     * @param page 分页对象
     * @param queryParams 查询参数
     * @return
     */
    @DataPermission(deptAlias = "o", userAlias = "o")
    Page<LpsOrderVO> getLpsOrderPage(Page<LpsOrderVO> page, LpsOrderQuery queryParams);

    /**
     *
     * @param userNames
     * @return
     */
    List<LpsOrderNODownloadVO> getNoDownloadUserList(@Param("userNames") Set<String> userNames);

    /**
     *
     * @param userName
     * @return
     */
    LpsOrderNODownloadVO getNoDownloadUser(@Param("userName") String userName);
}
